<?php
/**
 * Forum topic entity view
 *
 * @package ElggGroups
 */

$full = elgg_extract('full_view', $vars, FALSE);
$topic = elgg_extract('entity', $vars, FALSE);

if (!$topic) {
    return true;
}

$poster = $topic->getOwnerEntity();
$group = $topic->getContainerEntity();
$excerpt = elgg_get_excerpt($topic->description);

$poster_icon = elgg_view_entity_icon($poster, 'tiny');
$poster_link = elgg_view('output/url', array(
    'href' => $poster->getURL(),
    'text' => $poster->name,
    'is_trusted' => true,
));
$poster_text = elgg_echo('groups:started', array($poster->name));

$tags = elgg_view('output/tags', array('tags' => $topic->tags));
$date = elgg_view_friendly_time($topic->time_created);

$replies_link = '';
$reply_text = '';
$num_replies = elgg_get_annotations(array(
    'annotation_name' => 'group_topic_post',
    'guid' => $topic->getGUID(),
    'count' => true,
));
if ($num_replies != 0) {
    $last_reply = $topic->getAnnotations('group_topic_post', 1, 0, 'desc');
    $poster = $last_reply[0]->getOwnerEntity();
    $reply_time = elgg_view_friendly_time($last_reply[0]->time_created);
    $reply_text = elgg_echo('groups:updated', array($poster->name, $reply_time));

    $replies_link = elgg_view('output/url', array(
        'href' => $topic->getURL() . '#group-replies',
        'text' => elgg_echo('group:replies') . " ($num_replies)",
        'is_trusted' => true,
    ));
}

$metadata = elgg_view_menu('entity', array(
    'entity' => $vars['entity'],
    'handler' => 'discussion',
    'sort_by' => 'priority',
    'class' => 'elgg-menu-hz',
));

// do not show the metadata and controls in widget view
if (elgg_in_context('widgets')) {
    $metadata = '';
}

if ($full) {
    $subtitle = "$poster_text $date $replies_link";

    $params = array(
        'entity' => $topic,
        'metadata' => $metadata,
        'subtitle' => $subtitle,
        'tags' => $tags,
    );
    $params = $params + $vars;

    $info = elgg_view_image_block($poster_icon, $list_body);

    if ($topic->is_svn_commit) {
        $user_commit = get_user_by_username($topic->svn_commit);
        $body = "<br/>";
        $body .= elgg_view('output/url', array(
            'text' => $user_commit->name,
            'href' => 'profile/' . $topic->svn_commit,
        ));
        $body .= ' đã tải mã nguồn lên kho của nhóm ' . elgg_view('output/url', array(
                'text' => $group->name,
                'href' => 'groups/profile/' . $group->guid,
            )) . " với nội dung: " . $topic->description;
        $body .= '<hr/>';
        $body .= 'Phiên bản hiện thời là r' . $topic->svn_commit_rev;
        $body .= '<hr/>';
        $body .= "<b>Log:</b></br></br>";

        $exec = "svnlook changed /opt/lampp/htdocs/igs/svnrepositories/" . $group->guid . " -r " . $topic->svn_commit_rev;
        $output = shell_exec($exec);

        $order   = array("\r\n", "\n", "\r");
        $replace = '<br />';
        $new_output = str_replace($order, $replace, $output);

        $body .= '<div style="font-size: 0.8em;">';
        $body .= $new_output; // danh sach thay doi lay tu shell_exec
        $body .= "</div><hr/>";
    } else {
        $body = elgg_view('output/longtext', array('value' => $topic->description));
    }

    echo <<<HTML
$info
$body
HTML;

} else {
    // brief view
    $subtitle = "$poster_text $date $replies_link <span class=\"groups-latest-reply\">$reply_text</span>";

    $params = array(
        'entity' => $topic,
        'metadata' => $metadata,
        'subtitle' => $subtitle,
        'tags' => $tags,
        'content' => $excerpt,
    );
    $params = $params + $vars;
    if ($topic->svn_commit) {
        $params = array(
            'entity' => $topic,
            'metadata' => $metadata,
            'subtitle' => $subtitle,
            'tags' => $tags,
            'content' => '',
        );
        $list_body = elgg_view('object/elements/summary', $params);
        $user_commit = get_user_by_username($topic->svn_commit);
        $list_body .= elgg_view('output/url', array(
            'text' => $user_commit->name,
            'href' => 'profile/' . $topic->svn_commit,
        ));
        $list_body .= ' đã tải mã nguồn lên kho của nhóm ' . elgg_view('output/url', array(
                'text' => $group->name,
                'href' => 'groups/profile/' . $group->guid,
            )) . " với nội dung: " . $topic->description;

    } else {
        $list_body = elgg_view('object/elements/summary', $params);
    }
    echo elgg_view_image_block($poster_icon, $list_body);
}
